pycharm导入dll,报错[WinError 126] 找不到指定模块

转载自:

https://www.cnblogs.com/yucen/p/9343555.html

https://blog.csdn.net/jacke121/article/details/84111112

经百度后发现,引起此类问题的主要原因有二:

(1)没有找到该DLL文件,路径不对或者被杀毒软件隔离;

(2)你的DLL动态库依赖于其他其他DLL动态库无法被系统找到。在Python里面载入dll时,如果这个dll还依赖于其它的dll的话,这些相关的dll也得要能被Python的进程访问到。

(3)无法定位到dll所在目录  (即使使用全局路径也没有用)

(4)debug模式下打包dll,依赖msvcp140d.dll,而正常的vs2015runtime安装的dll对应msvcp140.dll。此外,debug下如果依赖opencv,也是对应的opencv_world343d.dll;如果换成release模式,记得将opencv_world343.dll一起复制过来。

解决方法:

对于原因一,可以把文件路径改为绝对路径;把杀毒软件关闭重新操作。

对于原因二,最基本的解决方式是把相关的DLL 动态库也导进来,这样问题基本就能解决。如果无法确定相关DLL 动态库,引起这类问题的原因很可能是由于你的目标主机没有安装相关的C++环境。解决方法:下载Visual C++ Redistributable运行库,64位版本下载地址为 https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=48145  最终,下载这个运行库后问题完美解决。

对于原因三,使用os.chdir('D:\\ge\\testDLL\\x64\\Debug\\'),定位到你的dll所在目录,再cdll.LoadLibrary(‘xxx.dll’)

对于原因四,用release模式再打包一遍dll,并且将release的dll依赖的库也更新成release版本的,例如opencv_world343.dll。

Pycharm报错ImportError: DLL load failed: 不到指定模块,可能是由于缺少相应的依赖库或者库文件无法正确加载所致。您可以尝试以下几种解决方法: 1. 确保您安装了所需的依赖库。根据您提供的信息,看起来是与matplotlib和其他库相关的问题。请确保您已正确安装了这些库。您可以使用conda或pip来安装它们。您可以运行`conda list`或`pip list`来查看已安装的库。 2. 检查库文件是否存在。DLL load failed错误通常是由于缺少或无法加载库文件引起的。请确保库文件存在于正确的位置,并且可以被系统正确加载。您可以尝试重新安装库文件,或者将库文件路径添加到系统的环境变量中。 3. 检查是否存在冲突。有时候,不同版本的库文件可能会引起冲突,导致DLL load failed错误。您可以尝试卸载并重新安装相关库,确保它们的版本兼容。 4. 检查Pycharm的配置。在Pycharm中,您可以检查项目的解释器设置,确保使用的解释器是正确配置的,并且已安装了所需的库。 总之,解决ImportError: DLL load failed: 不到指定模块的问题通常需要检查依赖库的安装情况、库文件的存在性以及Pycharm的配置等方面。希望以上方法可以帮助您解决问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Pycharm中出现ImportError:DLL load failed:不到指定模块的解决方法](https://blog.csdn.net/qq_28714865/article/details/99111240)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值